package com.issoft.studentresitor.service;

import com.issoft.studentresitor.domain.pojo.Major;
import com.baomidou.mybatisplus.extension.service.IService;
import com.issoft.studentresitor.domain.pojo.Result;
import com.issoft.studentresitor.domain.query.MajorPageQuery;
import com.issoft.studentresitor.domain.vo.MajorVo;
import com.issoft.studentresitor.domain.vo.ReportVo;
import com.issoft.studentresitor.utils.PageResult;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author GJH
 * @since 2025-09-14
 */
public interface IMajorService extends IService<Major> {
    /**
     * 分页查询
     * @param param
     * @return
     */
    PageResult<MajorVo> queryMajorPage(MajorPageQuery param);

    /**
     *  批量导出
     * @param response
     * @param ids
     */
    Result export(HttpServletResponse response, List<Long> ids) throws IOException;
    /**
     * 查询各专业人数
     * @return
     */
    List<ReportVo> queryMajorCount();
    /**
     * 查询各班级人数
     * @return
     */
    List<ReportVo> queryClazzCount();
    /**
     * 获取各寝室人数
     * @return
     */
    List<ReportVo> queryDormCount();

    List<ReportVo> queryPayCount();
}
